//
//  AFNetworkRequestConfigProtocol.h
//  TBNetworking
//
//  Created by apple on 2018/8/7.
//  Copyright © 2018年 lzb. All rights reserved.
//
#import "AFNetworkConstant.h"

NS_ASSUME_NONNULL_BEGIN
/**
 请求对象的配置协议
 */
@protocol AFNetworkRequestConfigProtocol <NSObject>

@required
/**
 配置请求地址
 @return 接口基础地址
 */
- (NSString *)configRequestAPIURL;

@optional

/**
 请求方式  默认是GET
 
 @return 放回请求类型
 */
- (AFNetworkRequestMethod)configRequestMethod;

/**
 *   默认AFNetworkRequestSerializerType_HTTP（即：[AFHTTPRequestSerializer serializer]）
 */
- (AFNetworkRequestSerializerType)configRequestSerializerType;

/**
 *  @brief 默认AFNetworkResponseSerializerType (即：[AFJSONResponseSerializer serializer])
 */
- (AFNetworkResponseSerializerType)configResponseSerializerType;

/**
 服务接口 Acceptable-Content 配置
 
 @return Acceptable-Content Types;
 */
- (NSSet<NSString *> *)configResponseAcceptableContentTypes;

/**
 *  返回需要统一设定的请求头
 *
 *  @return 请求头的字典
 */
- (NSDictionary<NSString *, NSString *> *)configRequestHeaderFieldValueDictionary;

/**
 * 定制缓存策略，默认NSURLRequestUseProtocolCachePolicy
 */
- (NSURLRequestCachePolicy)confgiCachePolicy;

/**
 *   请求超时时间，默认30秒
 */
- (NSTimeInterval)configRequestTimeoutInterval;

/**
 *  请求所需要的参数
 *
 *  @return 参数字典
 */

- (NSDictionary *)configRequestParamDictionary;


/**
 配置响应队列 默认是主队列

 @return
 */
- (dispatch_queue_t)configResponsequeue;


/**
 配置请求失败默认文字

 */
- (NSString *)configRequestFailDefaultMessage;


NS_ASSUME_NONNULL_END

@end
